package model;

import java.io.Serializable;

/**
 * This class represents a card in the game. It contains the card type enum
 * (SOLDIER, HORSE, CANNON, WILD) and the country the card represents. If the
 * type is wild there is no country.
 * 
 * @author David Shefchik, Xiaotian Chang
 * 
 * 
 */
@SuppressWarnings("serial")
public class Card implements Serializable {

	private CardType type;
	private Territory territory;
	

	/**
	 * The constructor takes in a CardType and a Territory, then maps those
	 * parameters to their respective variables.
	 * 
	 * @param type
	 *            The CardType of the card
	 * @param territory
	 *            The Territory of the card
	 */
	public Card(CardType type, Territory territory) {
		this.type = type;
		this.territory = territory;
	}

	/**
	 * Returns the territory represented on the card.
	 * 
	 * @return The Territory represented on the card
	 */
	public Territory getTerritory() {
		return this.territory;

	}

	/**
	 * Returns the CardType of the card.
	 * 
	 * @return The CardType of the card
	 */
	public CardType getType() {
		return this.type;
	}

}
